package com.springboot.file.repository;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.springboot.file.entity.FinPledgeAssetManage;
import com.springboot.file.param.req.BatchDeleteFinPledgeAssetManageReq;
import com.springboot.file.param.req.DelFinPledgeAssetManageReq;
import com.springboot.file.param.req.FindFinPledgeAssetManageByPageReq;
import com.springboot.file.param.req.FindFinPledgeAssetManageListReq;

import java.util.List;
import java.util.Map;

/**
 * 可融资产融资管理表 仓库接口
 *
 * @author yaojinlei
 * @since 2025-04-25
 */
public interface FinPledgeAssetManageRepository extends IService<FinPledgeAssetManage> {

    /**
     * 分页查询可融资产融资管理表列表
     *
     * @param req 查询条件
     * @return 分页数据
     */
    Page<FinPledgeAssetManage> findFinPledgeAssetManageByPage(FindFinPledgeAssetManageByPageReq req);

    /**
     * 查询可融资产融资管理表列表
     *
     * @param req 查询条件
     * @return 列表数据
     */
    List<FinPledgeAssetManage> findFinPledgeAssetManageListByCondition(FindFinPledgeAssetManageListReq req);

    /**
     * 新增可融资产融资管理表
     *
     * @param finPledgeAssetManage 可融资产融资管理表对象
     */
    void addFinPledgeAssetManage(FinPledgeAssetManage finPledgeAssetManage);

    /**
     * 修改可融资产融资管理表
     *
     * @param finPledgeAssetManage 可融资产融资管理表对象
     */
    void modFinPledgeAssetManage(FinPledgeAssetManage finPledgeAssetManage);

    /**
     * 删除可融资产融资管理表
     *
     * @param req 删除条件
     */
    void delFinPledgeAssetManageById(DelFinPledgeAssetManageReq req);


    /**
     * 批量删除可融资产融资管理表
     *
     * @param req 删除条件
     */
    void batchDelete(BatchDeleteFinPledgeAssetManageReq req);

    /**
     * 按条件删除可融资产融资管理表
     *
     * @param conditionMap 条件字段和值
     * @return 删除的记录数
     */
    int delFinPledgeAssetManageByCondition(Map<String, Object> conditionMap);
}
 